import java.util.Scanner;
class Person{
	private String name;
	private boolean gender;
	private int age;
	private int id;
	private static int count;
	public Person(){
		System.out.println("This is constructor");
		System.out.println(name + "," + age + "," + gender + "," + id);
	}
	public String getName(){
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public boolean getGender(){
		return gender;
	}
	public void setGender(boolean gender){
		this.gender=gender;
	}
	public int getAge(){
		return age;
	}
	public void setAge(int age){
		this.age=age;
	}
	public int getId(){
		return id;
	}
	public void setId(int id){
		this.id=id;
	}
	public static int getCount() {
		return count;
	}
	public static void setNums(int nums) {
		Person.count = count;
	}

	public Person(String name,int age,boolean gender){
		this.name=name;
		this.gender=gender;
		this.age=age;
	
	}
	@Override
	public String toString() {
		return "Person [name=" + name + ", age=" + age + ", gender=" + gender + ", id=" + id + "]";
	}
	static {
		System.out.println("This is static initialization block");
	}
	{
		id = count;
		System.out.println("This is initialization block, id is " + id);
		count++;
	}
}

public class Main {
	public static void main(String[] arge)
	{
		Scanner input =new Scanner(System.in);
		int n=input.nextInt();
		Person[] person=new Person[n];
	for (int i = 0; i < n; i++) {
			person[i] = new Person(input.next(), input.nextInt(), input.nextBoolean());
			}
		for(int j=n-1;j>=0;j--){
			System.out.println(person[j]);
		}
		Person str=new Person();
		System.out.println(str);
	}

}
